SAFE Logo
CodeMatch Detailed Report
Version: 5.7.2 | Date: 08/27/16 | Time: 18:44:41

SCORE

SETTINGS
Compare file 1: Z:\Zeidman Consulting\projects\DOS and CPM\code\CHM\CPM\1.3\SUBMIT.plm
To file 2: Z:\Zeidman Consulting\projects\DOS and CPM\code\CHM\CPM\1.3\SUBMIT.plm
Links to results: Matching Statements
Matching Comments and Strings
Matching Instruction Sequences
Matching Identifiers
Partially Matching Identifiers
Score
RESULTS
Matching Statements
File1 Line# File2 Line# Statement
220FAH: DECLARE BDOS LITERALLY , BOOT LITERALLY
33SUBMIT: PROCEDURE
99DECLARE LIT LITERALLY ,
1010DCL LIT ,
1111PROC LIT ,
1212ADDR LIT ,
1313CILL LIT ,
1414LCA LIT
1515111$1010B,
1616CTL LIT ,
1717ENDFILE LIT
2020(LN1, LN2, LN3) BYTE INITIAL ( ),
2121FILL (2) BYTE INITIAL ( ),
2222FSBA ADDRESS INITIAL (5011),
2323BUFA ADDRESS INITIAL (BGA),
2424DBCA (132) BYTE INITIAL
2525(0, , ,0),
2626DRFC BYTE,
2727BUFF BASED BUFA (128) BYTE,
2828SFCB BASED FCPA (33) BYTE
3030MON1: PROCEDURE (B,A)
3131DECLARE F BYTE,
3333GO TO BDOS,
3434END MON1
3636MON2:PROCEDURE (B,A) BYTE
3737DECLARE F BYTE
3838A ADDRESS
3939GO TO BDOS
4040END MON2
4343TRUE LITERALLY ,
4444FALSE LITERALLY ,
4545FOREVER LITERALLY ,
4646CR LITERALLY ,
4747LF LITERALLY ,
4848WHAT LITERALLY
5050PRINT: PROCEDURE(A)
51
103
51
103
DECLARE A ADDRESS
5454CALL MON1(5,A)
5555END PRINT
5757DECLARE DCNT BYTE
5858OPEN: PROCEDURE(FCB)
59
64
69
74
79
84
59
64
69
74
79
84
DECLARE FCB ADDRESS
6060DCNT = MON2(15,FCB)
6161END OPEN
6363CLOSE: PROCEDURE(FCB)
6565DCNT = MON2(16,FCB)
6666END CLOSE
6868DELETE: PROCEDURE(FCB)
7070CALL MON1(19,FCB)
7171END DELETE
7373DISKREAD: PROCEDURE(FCB) BYTE
7575RETURN MON2(20,FCB)
7676END DISKREAD
7878DISKWRITE: PROCEDURE(FCB) BYTE
8080RETURN MON2 (21, FCB)
8181END DISKWRITE
8383MAKE: PROCEDURE(FCB)
8585DCNT = MON2(22,FCB)
8686END MAKE
8888MOVE: PROCEDURE(S,D,N)
8989DECLARE (S,D) ADDRESS, N BYTE
9090DECLARE A BASED S BYTE, B BASED D BYTE
9191DO WHILE (N := N - 1) <> 255
9292B = A
9292S = S + 1
9292D = D + 1
9494END MOVE
9696CRLF: PROCEDURE
9797CALL PRINT (.(CR,LF, ))
9898END CRLF
100100DECLARE OLDSP ADDRESS
102102ERROR: PROCEDURE(A)
104
108
104
108
CALL CRLF
105105CALL PRINT(. )
106106CALL PRINT(.LN1)
107107CALL PRINT(A)
109109STACKPTR = OLDSP
111111END ERROR
113113DECLARE SSTRING(128) BYTE,
114114SBP BYTE
116116SETUP
118118DECLARE (I,B,ST) BYTE
119119DELIMITER: PROCEDURE BYTE
121121RETURN (B := BUFF(I)) =
122122END DELIMITER
124124I,SBP = 0
125125DO WHILE (I:=I+1) <= BUFF
127127DO WHILE DELIMITER
127
135
127
135
I = I + 1
130130ST = SBP
131131DO WHILE NOT DELIMITER AND I <= BUFF
132132IF (SBP := SBP + 1) >= LAST(SSTRING) THEN
133
146
175
186
189
208
133
146
175
186
189
208
CALL ERROR (. )
134134SSTRING(SBP) = B
138138SSTRING(ST) = SBP - ST
139139SBP = SBP + 1
142142SSTRING(SBP) = 0
143143CALL MOVE(. ,FCBA+9,3)
144144CALL OPEN(FCBA)
145145IF DCNT = 255 THEN
148148SBP = 128:
150150END SETUP
152152GETSOURCE: PROCEDURE BYTE
154
184
154
184
DECLARE B BYTE
155155IF SBP > 127 THEN
156156IF DISK READ(FCBA) <> 0 THEN
157157RETURN ENDFILE
158158SBP = C
160160IF (B := BUFF((SBP :=SBP+1)-1)) = CR THEN
162162IF (LN3 := LN3 + 1) > THEN
163163LN3 =
164164IF (LN2 := LN2 +1) > THEN
165165LN2 =
166166LN1 = LN1 + 1
169169RETURN B
170170END GETSOURCE
172172WRITEBUFF: PROCEDURE
174174IF DISKWRITE(.DFCP) <> 0 THEN
176176END WRITEBUFF
178178DECLARE RBUFF(1024) BYTE,
179179RBP ADDRESS,
180180RLEN BYTE
182182FILLRBUFF: PROCEDURE
183183PUTRBUFF: PROCEDURE(A)
185185IF (RBP := RBP + 1) > LAST(RBUFF) THEN
187187RBUFF(RBP) = B
188188IF (RLEN := RLEN + 1) > 126 THEN
190190END PUTRBUFF
192192DECLARE (READING,I,TBP,B) BYTE
193193NONZERO: PROCEDURE BYTE
194194RETURN (I := SSTRING(TBP) + 1) > 1
195195END NONZERO
198198RBUFF,RBP = 0
199199READING = TRUE
200200DO WHILE READING
201201RLEN = 0
202202DO WHILE (B:=GETSOURCE) <> ENDFILE AND B <> CR
203203IF B = CTL THEN
204204CALL PUTRBUFF(GETSOURCE AND 1$1111B)
205205IF B <> BF THEN
206206IF B = THEN
207207IF (B := GETSOURCE - ) > 9 THEN
209209TBP = 0:
210210DO WHILE (B := B - 1) <> 255
211211IF NONZERO THEN TBP = TBP + 1
213213IF NONZERO THEN
214214DO WHILE (I := I - 1) <> 0
215215CALL PUTRBUFF(SSTRING(TBP := TBP + 1))
218218CALL PUTRBUFF(B)
221221READING = B = CR
222222CALL PUTRBUFF(RLEN)
225225END FILLRBUFF
227227MAKEFILE: PROCEDURE
229229DECLARE I BYTE
230230GETRBUFF: PROCEDURE BYTE
231231RETURN RBUFF (RBP := RBP - 1)
232232END GETBUFF
234234CALL DELETE(.DFCB)
235235DREC = 0
236236CALL MAKE(.DFCB)
237
248
237
248
IF DCNT = 255 THEN CALL ERROR (. )
238238DO WHILE (1 := GETRBUFF) <> 0
240240BUFF = I
240240BUFF (I+1) =
241241DO WHILE 1 > 0
242242BUFF(I) = GETFBUFF
242242I=I-1
245245CALL WRITEBUFF
247247CALL CLOSE(.0FCA)
249249END MAKEFILE
252252DECLARE STACK(10) ADDRESS
253253OLDSP = STACKPTR
254254STACKPTR = .STACK(LENGTH(STACK))
256256CALL SETUP
257257CALL FILLRBUFF
258258CALL MAKEFILE
259259GO TO BOOT
260260END SUBMIT

to top

Matching Comments and Strings
File1 Line# File2 Line# Comment/String
11SUBMIT FUNCTION - CREATE $$$. SUB FILE WITH COMMANDS
223FFDH
66COPYRIGHT (C) GARY A. KILDALL
77JUNE 1975
99LITERALLY
1010DECLARE
1111PROCEDURE
1212ADDRESS
1313CCH
1414110$0001B, /* LOWER CASE A */
1515LC7 LIT
1515LOWER CASE Z
16165FH
1616SHIFT - N CONTROL KEY FLAG)
17171AH
1717CP/M END OF FILE
2020001
2323DISK TO BUFFER ADDRESS
2525$$$
2525SUM
2525DESTINATION FILE
2626NEXT RFCORD TO WRITE
2727DISKIO BUFFER
2828SOURCE FILE CONTROL
4545WHILE TRUE
5252PRINT THE STRING STARTING AT ADDRESS A UNTIL THE
5353NEXT DOLLAR SIGN IS ENCOUNTERED
100100CALLING PROGRAM'S STACK POINTER
105105ERROR ON LINE $
110110RETURN TO CCP
113113SUBSTITUTE STRINGS
114114POINTER INTO SSTRING
117117X,SUB FILE IS IN FIRST 16 BYTES, SUBSTITUTE STRING IN LAST
120120RETURNS TRUE IF POSITION I OF BUFF IS A DELIMITER
123123COPY SUBSTITUTE STRINGS
126126DEBLANK AND COLLECT STRING
129129START OF STRING
133133PARAMETER LIST TOO LONG
137137SAVE LENGTH
141141MARK END OF LIST
143143SUB
143143SET FILE TYPE TO SUB
146146NO ''SUB'' FILE PRESENT$
147147OTHERWISE FILE IS OPEN - READ SUBSEQUENT DATA
148148CAUSES READ BELOW
153153READ THE TEXT SOURCE CHARACTER
161161INCREMENT LINE
173173WRITE THE CONTENTS OF THE BUFFER TO DISK
174174ERROR
175175DISK WRITE ERRORS
178178JCL BUFFER
179179JCL BUFFER POINTER
180180LENGTH OF CURRENT COMMAND
186186JCL BUFFER OVERFLOW$
189189COMMAND TOO LONG$
197197FILL THE JCL BUFFER
201201RESET COMMAND LENGTH
203203CONTROL KEY
206206COPY SUBSTITUTE STRING
208208INVALID PARAMETER SPECIFICATION$
209209FIND STRING B
213213COPY TO RBUFF
217217NOT A '$'
220220OF LINE OR INPUT FILF - COMPUTE LENGTH
222222STORE LENGTH
224224ENTIRE FILE HAS BEEN READ AND PROCESSED
228228WRITE RESULTING COMMAND FILE
235235ZERO THE NEXT RECORD TO WRITE
237237DIRECTORY FULL$
239239COPY I CHARACTERS TO BUFFER
244244BUFFER FILLED TO $
248248CLOSE ERROR$
251251ENTER HERE FROM THE CCP WITH THE FCH SET
252252WORKING STACK
259259REBOOT CAUSES COMMANDS TO BE EXECUTED

to top

Matching Instruction Sequences
File1 Line# File2 Line# Number of matching instructions
2 2 220

to top

Matching Identifiers
0FAH 0FCA 1$1111B 10 1024 111$1010B 126 127
128 132 15 16 19 20 21 22
255 33 5011 ADDR BDOS BF BGA BOOT
BUFA BUFF CILL CLOSE CR CRLF CTL DBCA
DCL DCNT DELETE DELIMITER DFCB DFCP DISK DISKREAD
DISKWRITE DREC DRFC ENDFILE ERROR FALSE FCB FCBA
FCPA FILL FILLRBUFF FOREVER FSBA GETBUFF GETFBUFF GETRBUFF
GETSOURCE LAST LCA LENGTH LF LIT LN1 LN2
LN3 MAKE MAKEFILE MON1 MON2 MOVE NONZERO OLDSP
OPEN PRINT PROC PUTRBUFF RBP RBUFF READ READING
RLEN SBP SETUP SFCB SSTRING ST STACK STACKPTR
SUBMIT TBP TRUE WHAT WRITEBUFF

to top

Partially Matching Identifiers
*** NONE ***
to the top
SCORE 100

CodeSuite copyright 2003-2016 by Software Analysis and Forensic Engineering Corporation